Contemporary computing devices allow users to enter natural input data such as handwriting or speech data. For example, such devices accept handwritten words (e.g., in cursive handwriting and/or printed characters), characters and symbols (e.g., characters in Far East languages). The words, characters and symbols can be used as is, such as to function as readable notes and so forth, or can be converted to text for more conventional computer uses. Speech data may be similarly input and converted to text, and/or left in some audio-related file format.
To convert such natural-input data to text, as a user enters strokes representing words or other symbols onto a touch-sensitive computer screen or the like, or speaks into a microphone, a suitable recognizer (e.g., trained with millions of samples, employing a dictionary, context and/or other rules) is able to convert the handwriting data or speech data into dictionary words or symbols. In this manner, users are able to enter textual data without necessarily needing a keyboard. By way of example, one common type of handwriting recognizer compares characteristics and other features of electronic ink input by a user against a dictionary that maps the features to common text words to recognize words therefrom.
In many cases, recognition is fairly accurate, since the dictionary contains a word for the information that a user enters. Moreover, such recognizers can return probability-ranked alternates, or candidates, from which a user can select an alternate word choice when the user-intended word is not the one the recognizer considered to be the best match. Usually one of the words is the one the user intended, and a pop-up menu or the like that the user can quickly display and interface with enables the user to quickly select the intended word or symbol.
However, when the spoken input or written character combination that the user intended does not have a corresponding entry in the dictionary, often none of the candidates returned by the recognizer will be correct. As a result, the user has to resort to other means to input the intended text. For example, the user can type in or distinctly spell out exactly what characters are desired for the particular handwriting or speech input. Further, the user can add the character combination to a supplemental dictionary or the like and attempt to “train” the recognizer that this particular input corresponds to a given combination of characters, which need not be standard dictionary words. However, even if this solves the problem for that particular handwriting or speech input data in the future, at the very least such training is time-consuming, frustrating, and not very realistic in that the recognizer gets wrong what a human listener or reader would have interpreted correctly the first time.
As can be appreciated, such manual, after-the-mistake training is less desirable than having the recognizer get the right recognition result in the first place. Moreover, because the input is incorrectly recognized, any validation that may occur is meaningless unless and until the recognition is corrected. For example, a word processor may have a spell-checking mechanism, a spreadsheet may have a formula-validating mechanism, and an e-mail program may have an alias-validating mechanism, but if recognition is incorrect, these mechanisms operate on the wrong text.
In sum, recognition accuracy has substantial room for improvement. Recognition is especially poor when the input is not a common text word and thus not present in a full text dictionary. Manual training may be available to improve future accuracy, but is far less desirable than having the recognizer initially return the correct result.